added libuv default loop to the main thread based loop, also added in a new timer module which can be useful for testing, not so sure that I want to keep it there in the future as it is against my idea of trying to run as fast a possible at all times