timer: Split off into separate namespaces.

For example the C++ timer is _much_ simpler than the JS timer at the moment and
we don't want to use tail recursion on C++ too much. So factor everything out
and remove unnecessary stuff.

But still even now there is more work to do, especially because we have quite a
lot of repetition in the timer code. Let's refactor that into an interface or
abstract based appreach later.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>