Make highlighting behave more sanely in all modes, and provide utility functions

Significant changes to the plugin overall.  Makes highlighting behave more sanely in insert mode and provides options to disable current line highlighting in normal mode.  Also provides helper functions for enabling and disabling all settings.