Initial regionEvents pass

Fixes #1183


## TODO / Ideas
  * [x] fix deep object equality tests 
  * [x] handle method def of regionEvent
  * [x] handle string based regionEvent
  * [ ] handle regionEvents via options
  * [ ] handle `all` based registration
  * [ ] ensure we are not introducing memory leaks
  * [ ] know which region is emitting the event
  * [ ] addRegionEvent
  * [ ] addRegionEvents
  * [ ] removeRegionEvent
  * [ ] removeRegionEvents
  * [ ] analogue of `CollectionView#childViewEventPrefix`
  * [ ] limit max bubble height?
  * [ ] rename to childEvents

<!---
@huboard:{"order":591.5,"milestone_order":1734,"custom_state":""}
-->

But... region is an object here correct? So if you pass it as the first argument of `off` it will iterate through every property trying to remove it as an event.