ZENGINE: Add wrapper function for copyRectToSurface

Also rename some arguments to make them more clear
ZENGINE: Remove unused Console functions
ZENGINE: Add key press support to Controls
ZENGINE: Remove unused key functions
ZENGINE: Add method to copy a portion of the working window to a surface
ZENGINE: Remove unused function
ZENGINE: Add ScriptManager support for key press events
ZENGINE: Add key press support to the main event loop
ZENGINE: Fix signed/unsigned mismatch
ZENGINE: Move dirty rect extension to the correct function

Source control mishap
ZENGINE: Add better alpha support for blitting

Instead of blitting directly to the working window, we cache the alpha pixels,
then blit directly to the backbuffer instead of to the working window. This
ensures that if the alpha'd content changes, the old changes won't appear
in any new frames
ZENGINE: Add support for ActionRandom and ActionTimer

They were already implemented, they just weren't being used
ZENGINE: Add focus support for Controls
ZENGINE: Add focus support for the ScriptManager
ZENGINE: Ensure getControl always returns something
ZENGINE: Add a reminder for how inventory is accessed
ZENGINE: Actually store the ZEngine pointer
ZENGINE: Create an instance of the SaveManager
ZENGINE: Clean up the TruetypeFont class and add alpha support

Remove caching. We don't render font enough to warrant it. Use
Graphics::TextAlign instead of rolling our own. Remove methods
we don't use.
ZENGINE: Add RenderManager text support