Poll for requested input events

There are cases where the game requires per-frame polling for events.
This update opens up an API to specify which events should be polled for
(if any key linked to an event is Pressed, the Event fires) and hooks
the polling check into RecentEvents, so that if nothing is asking for
input, no polling has to happen.
Input Behavior can tell the Dispatcher what events to poll
Add up / down moving methods to Transform
Use the new polling system to improve input responsiveness

With the polling system the user will no longer end up in a stopped
position due to hitting opposing directional controls, or any strange
automatic movement when swapping control schemes. This leads to a much
more fluid and responsive input handling feel.