[mvc/controller] Prevent creating multiple instances of the same controller on the same element.
Added hasController method.
Added internal normalizeController method.
Fixed getController not working with stringed controller created under the $.Controller namespace.
Fixed flattenControllers unable to recurse into array of controllers.
Added on() method which replaced bind(). off() is removed as on() returns the function to unbind.