Basic preparation for replay recording facility.
cleanup some code
added a tickcount to TimerDispatcher
check for relevant tickcount
Fuck I start() game timer twice. Remove the one in init_(). Also added test for toggling recording replays.
Merge branch 'scriptify' into replay-stage1
set_time(0) again when game_start() is called.
retrofit fix: all random_shuffle usages should be connected with the usage of our wrapper of mt19937 random generators.
don't create a new distribution object every time and also variate_generator doesn't seem to be doing what it is supposed to do... and that it's no different to simply use the dist(engine) here.
added Replay as a service under App scope. And have to put tick_timer() in front of everything. Originally it was behind Input::updateAll which is really bad.
Made tick_timer() public and independent of dispatch()
refactored Replay out of Input. And leave out the inclusion of Event & Timers. (not considering the original usage of Wii remote rumble)
added preliminary test of replay recording.
when integers appear in the key part of a map_any, when serializing have to treat it as strings.
update project
remove all random usage in the LinearParticleHack. It was not a random effect anyway
refine the semantic of Button::changed()
added a method to set warning_level from outside
pass in replay object from outside when calling tick_timers
replay_advance() before everything, only after tick_timers. pass replay_ to tick_timers to avoid more App coupling