Refactored the get default code to avoid trying to import safe_qgis 
all the time. now safe imports get_defaults, and if safe_qgis.__init__  is
called, then it monkey patches the safe.get_defaults to use 
safe_qgis.get_defaults
to do this I had refactored defaults to its own file to avoid a __init__ 
cascade that was loading the inpact function before safe_qgis.__init__
could monkeypatch the get defaults method.

this fixes #704 and probably all the related QPainter issues
initial support for creating an html file
added better qrc to file mapping
deal with non file based qrc assets
refactored code out to utilities
removed herdcoded path
open html in browser
fixed automatic execution on right click
make dock writhe the report as html
cleanup
added support for show report and show log.
refactored code
cleanup
added initial dynmic option log storage
show log with html styling
typo
added debug output
Added initial tests to message viewer
added load and wait html file
most message viewer test pass. only show_report fails
closes 697
pep8 fix all test of message_viewer pass