Changed `View::element()` to have an appropriately named event

And also made it so when the event fires the subjects type is `View::TYPE_ELEMENT`. (which may or may not be needed, as the view type is a private variable) 
Wrote some tests which I hope are done right I don't really know the best way to write a test for a event listener. It looked like the CakeEventManagerTest was doing something similar..