Leverage getHexAt to get loop bounds for draw().

This is a precursor to being able to move around on the map and having
maps larger than the screen.
Fix jagged edges.

We weren't overdrawing enough when an odd number of hexes were visible.
Demo map bigger than the screen.  Animated.
Added accessor for black color in screen format.