Add basic touch input code
Add methods to detect touch locations

These allow the game to define a region of interest for a touch event
and then detect the "most important" finger in the region. Also allows
for a "secondary" finger to be used which will ignore a finger which has
already been used for some other input (or to ignore regions).
Add a touch region to invert a region
Use a 'TouchVector' for determining locations

This is a vector normalized by the aspect ratio so that regions don't
have to work with distorted positons.
Pass a Touch input object through the game logic

Everything that needs input gets a Touch input in this commit. The
(unused) TouchState members are also added.
Add a DOUBLE_PLAY_TOUCH mode

Like DOUBLE_PLAY, this mode has two boats. Here, each boat is moved by
touching the boat and moving it around using relative movements near
each boat.
Add a method to determine a sensible touch radius

This will determine the sensible touch radius to use for touch controls.
The radius is in the 'x' axis (the 'y' should be scaled by the aspect
ratio).
Initial implementation of a TOUCH mode

Plays like TWIN_STICK with two virtual joysticks in the lower right and
left corners of the screen. The left controls movement and the right
controls the direction of fire.

Things to fix: the size and location of the input areas and the input
locations need to be drawn onto the screen. TODO items mark the places
these should happen.
Skip game mode selection if the mode is not supported
Skip game modes for which there is no input support
Add accelerometer input support
Add a fused accelerometer and touch input
Plumb an accelerometer input through the code
Implement a TILT mode

The accelerometer is used to control movement (via acceleration) and the
user uses touch to fire relative to the ship.
Add a TODO item for touch on the title screen