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