Encapsulate redis_conn in the extension object and add a factory option

Hi,

Great project! I've made two small changes to how connections are created, hopefully for the better :)

Now `redis_conn` is really an attribute of the extension and not the app, so (although highly unlikely) someone can have more than one dashboard, but more importantly, it doesn't pollute the app dict.

Also, `RQDashboard` accepts a connection or a connection factory so the user can use his/her own method to create redis connections.

Thanks,
Tal