Made the controller customizable.

This enables the end user to install their own handlers for keyboard and
mouse input.
Added overlay on presenter mode to indicate paused state.
Merge pull request #67 from freakboy3742/customController

Made the controller customizable.
Merge pull request #68 from freakboy3742/timer