Rename Regiser/Unregister and revise the function arguments

1. Register()   -> AddObserver()
2. Unregister() -> RemoveObserver()
3. Use two observer lists and observer pointers to handle always/non-always
   trigger case
Bug 987529 - part 3: Integrate CompositorParent into vsync dispatcher

Call AddObserver() while we want to schedule the composition. We use
non-always triggered AddObserver() for CompositorParent.