Lime next: Singleton pattern for EventManager classes

I noticed you were creating instances in Application when these could just be handled the first time an instance is needed. There is a bit of added overhead in `registerWindow` but since that should only be called once per `Window` object I didn't figure it needed any improvement.