shiny/driver/windriver: implement mouse and resize events

The mouse wheel is not handled yet; I'm not sure how to translate
WM_MOUSEWHEEL to a "click" in the X11 sense yet. I'll find that out
and write that part of the code.

Also I'm not sure if you want Meta to be the Windows key; once I get
confirmation about that I'll add that in too.

For size events, I assume you want to take the device's DPI value as
the PixelsPerPt. I can do that, but Windows has a separate DPI in both
directions; do I only use the one in the Y direction? We'll then need to
handle DPI changes; I can do that too, once I can confirm that
WM_DPICHANGED can be safely included in the switch statement for
window messages on platforms before Windows 8.1.

For paint events, I'll need to figure out how to carry a PAINTSTRUCT
and a DC around. I'll read the examples again and see what I can do.
This will affect the design of Buffer and Texture.

For key events, I just need to know if keys like key.CodeA map to
where the A key is on a US keyboard or on whatever keyboard the
user happens to use (positional or virtual?).

Change-Id: Id8351d197c70715f62a204659349c1692fdec1a3
Reviewed-on: https://go-review.googlesource.com/13670
Reviewed-by: Nigel Tao <nigeltao@golang.org>
3 files changed