This refactor changes ticker to only request frames when necessary. Whether the ticker has been started and has listeners are the conditions that need to be met in order to request a frame.
The API has also changed and the ticker composes itself around an emitter instead of extended the class. This not only minimizes and simplifies the API, it also allows for the previous functionality without being overly complex.