More work on the targeting functions, extracting some useful
functionality with the LineSegment class. Reworked GameMaster as Looper,
and created the Dispatcher utility class for event handling. Fixed up
the Keyboard class (now in its own file) so that the even list is
cleared after a game loop iteration.