Events fired with array and view events

Events fired with an array will now call listeners with an array instead
of a list of arguments.

View element events will now check if a given property in events does
not have a listener. If it doesn't it will try to find an appropriate
function on the views proto.