Updated the main loop.

Renamed input to controller to avoid naming collisions.
Added initial implementation of Actor generic for rendered objects.
Added initial implementation of ActorFactory to create generics.