Code Cleanup + Minor Fixes + Minor Enhancements

Started organizing the code a bit for my own sanity. I hope Twinther
doesn't mind me doing that with not just my additions, but some of his
original code as well.

A globals module was created and I pulled the debug method out of gui.py
and into it along with some other global constants used in gui.
Moved the program options class out into it's own module.
Enhanced the debug method to add a consistent debug tag to all log
messages to make it easier to filter with a log viewer. Log messages
will now automatically get the name of the addon plus the class and
method name prepended in brackets.
Updated calls to xbmc.log to use the global debug method instead.
Added better handling of the response from the program options modal for
a starting point (will continue to build this out next week).
Example debug messages are below:
15:20:54 T:14852   DEBUG: [script.tvguide.TVGuide.onAction] Mode is: EPG
15:20:54 T:14852   DEBUG: [script.tvguide.TVGuide.setFocus] setFocus
3002
15:20:54 T:14852   DEBUG: [script.tvguide.TVGuide.setFocus] Focus before
Point(x=180, y=184)
15:20:54 T:14852   DEBUG: [script.tvguide.TVGuide.setFocus] New focus at
Point(x=180, y=234)
15:20:55 T:14852   DEBUG: [script.tvguide.TVGuide.onAction] Mode is: EPG
15:20:55 T:14852   DEBUG: [script.tvguide.TVGuide._showProgramOptions]
mouse controls hidden
15:20:55 T:14852   DEBUG: [script.tvguide.ProgramOptions._renderMenu]
offset: 0
15:20:56 T:14852   DEBUG: [script.tvguide.ProgramOptions.onAction]
activeMenuOption: 1
15:20:56 T:14852   DEBUG: [script.tvguide.ProgramOptions._renderMenu]
offset: 1