Extracted region into region + component

New binding handler `component` is responsible for managing
components, for the lifecycle and rendering, with region binding
handler being simple the glue between a region manager and the
component binding handler.
Remove obsolete method from _specs_matchers
Use full name for jQuery, not $
Routes only defined by options, not callback

Routes can no longer be defined as a callback or options or both,
instead only passing options when creating a route is supported.
Introduce authorisation to components

A new service, $authoriser, provides the ability to authorise the
loading of components, used within the component view model
to stop the loading of components if they fail authorisation.
Add authorisation at routing level

Routes can be authorised as a whole, meaning that we can stop navigation
completely, and hide navigate links completely depending on the
authorisation context of the user.