Split clearing into a separate function

Doesn't make much sense as part of HiInterestingWord().
Make Highlighting work on startup

For some reason, highlighting doesn't work when plugin is loaded on
startup, but does work when sourced. It works if I source it again too.

Just apply the highlight definitions right before we try to use them
(but only do it once). That works for me.
Convert to autoload

Move functions to autoload and fixup call sites.
Remove deferred highlight def hack

Autoloading defers the highlight setup for me, so I don't need that
hack. Calling SetupHighlights from the autoload file only sets up the
highlights the first time someone calls one of the hiinterestingword#
autoload functions. So long as we don't do that on startup, we're
golden.