Support Django 1.5 swappable user models

A first try at using Django's swappable user models to use MongoEngine for authentication, re https://github.com/MongoEngine/mongoengine/issues/147

The main difference with using a custom authentication backend is that other features expecting a Model object might also work. For example, you can use the "createsuperuser" management command.