exposing, impress.roots, an window.Impress constructor and Impress.reset helper

The `roots` object is not exposed, hence it's not very useful if one wants to delete an existing instance. I understand that it's not very practical to have multiple instances of an "impress" object on a single page, it's almost impossible to handle, since each instance manipulates the `location.hash` value and listen to its changes, and I personally agree, and I think you should just have a single static instance, unless you want to support a light router, i.e. `#/:rootId/:step-index`

However, since you're already keeping track of each instance, why not construct them the *conventional* way, (no way is the right-way in JS) using a `new Impress( rootId )` syntax, and why not exposing a helper for one to reset or delete one or all instances. 

My use case consists changing the impress DOM template, then reloading the deck, without refreshing the page.