Added bounds checking to NewArea() and Area.SetSize() such that an Area must have a valid size.
Removed TODO about Windows -1 conversions, as the Go spec specifically says that signed values are sign-extended to the full size of the type to convert to (and even shows an example of this), so the code we have was correct, not just working out of luck.
Attempted to fix the Windows transparency issues; we're not quite there... flicker...
Added CS_HREDRAW and CS_VREDRAW to our Area on Windows, just to be safe.