Make logger messages an object

This turns the logger messages into a Parcelable object, routes all logging
events through the main application class, and adds shared preference to
track whether the widget is currently in use or now.