Support django 1.6+ default session serializer, JSONSerializer

Moved call to offset_to_timezone from view to middleware, so we only store the offset in the session. This allows the use of JSONSerializer instead of PickleSerializer for sessions, which was introduced as the default in Django 1.6
Could you change this to ``isinstance(tz, BaseTzInfo)``, as ``tz`` will most likely be a sub-class.

I'd do it myself but I'm on another project at the moment. I can always do it later if needs be.