Rework DjangoStaticFileHandler (fixes #1034)

Fixes multiple issues
 - Unicode errors when path contained non-ascii characters

 - 403 errors when the current working directory was not a parent
   directory of the static files

 - "API abuse" super() implementation of the get() method was passed a
   filesystem path instead of the url-path it was expecting

 - The above could also lead to 403 errors on case-insensitive file
   systems due to the way the base-class resolved and validated paths
   with respect to self.root