Deactivate all control states when losing focus.

Fixes #202.
Remove unnecessary OnPhaseChanged().

The OnPhaseChanged() hack isn't necessary anymore now that the
starting/stopping transition is handled by Scene now.
Remove "Race complete!" message.

This was added a while ago to test the scene management stuff, which is
pretty well-proven at this point, so we don't need this anymore :)
Make GameScene's ctor conform to other scenes.

The GameDirector is passed by reference, and the first two params are
the display and director, in that order.
Set the cancel button relative to the OK button.
Make FireClickedSignal() virtual.
Add ActionButton.
Use ActionButton.
Make hash functions static.
Use the real HashKeyboardEvent.

InputEventController is now in the engine, so we can use the real
version of the function.
Import FontAwesome 3.2.1.
Load FontAwesome as a private font.
Remove "Symbol Font" text.

The text only showed up on Windows -- on SDL_ttf the glyphs are missing,
and we don't really care anyway.
Map the close button to the cancel action.
Move text rendering core to SdlSurfaceText.

This separates the actual text rendering from the surface management so
we can render text onto arbitrary surfaces and manage them differently
depending on the usage.
Move line-height calc to SdlSurfaceText.

This removes all of the text rendering out of SdlLabelView.
Add SdlSurfaceText ctor with font and color.

The common case is that at least the font (and maybe the color) will be
initially set, so provide a constructor for that case.
Pass the display to SdlSurfaceText.

The SDL_ttf renderer in SdlSurfaceText depends on the SdlDisplay to load
the font.
Add SymbolIcon.
Fix missing include.