Added callback handler support

Added callback hooks for the following lifecycle events

before_tick
after_tick
before_run
after_run

The callback handler classe(s) are specified through the configuration option "callback_handler(s)" either as a class name or array of class names.

Each callback class is called at the lifecycle event if the class responds to the specified method.  For the "before" handlers, the return value is used to determine whether or not to proceed with the tick or run code for that loop.