Expose more message handlers and drawing API

This adds some assorted message handers:
 - left mouse button up/down
 - keys up/down
 - on erase background
 - on message -- a fallthrough handler to handle custom messages
   or those this library doesn't cover.

and some drawing functions:
 - invalidate_rect
 - invalidate
 - set_text_color
 - set_background_color
 - fill_rect
 - rect.

Some more raw win32 drawing functions are also exposed.