Scheduler with tasks + stopwatch + async updating

This giant commit with roughly 1000 additional lines of code adds a
framework where tasks can be scheduled, either synchronous or
asynchronous.
They can be either repeating with a specified period, or executed only
once after a delay. A stopwatch extends this to add more functionality
regarding measurements and tick checks.
Furthermore, so-called tickables can be watched by the scheduler, which
basically means they are updated along with the main tick source.
Explaining the framework in more in-depth would go way beyond the scope
of this commit; for more specific information consider reading the
included Javadoc (as usual).

Additionally, two minor things were added:
* A few Game constructor properties can be retrieved by public getters
* You can change the window title by calling Game.setTitle(String) even
when the game is already running