feat(offcanvas): Added offcanvas support in a more "Angular-way" ;)

An improved version of @Paul-Todd's pull request. It mostly uses directives instead of angular.element and hides the menu when the window resizes.