fix(mdSidenav): Focus management on close

This change aims to improve keyboard focus management of sidenav components: https://github.com/angular/material/issues/728

@ajoslin I'm unsure how to test this, because focus has to be triggered from an element outside of the sidenav and sent back to it on close. Any suggestions?
For some reason `$document.activeElement` is always empty even if I pass in `$document`.