enhance(sidenav): support promise notifications for open, close, toggle

Closes #947.
@ThomasBurleson: Submitted #1036 with this and other fixes.