ui/filter: Extract Filter component and plugin

Moves the Filter component into its own object in the UI module. It's
still implicitly coupled to the Highlighter, but doesn't access
"this.annotator" any more.
test/runner: Alphabetize some stuff
ui/filter: Remove Delegator dependency

Delegator is really not doing an awful lot here, and if anything hinders
readability. I've replaced the use of Delegator with direct calls to
jQuery's event delegation method (".on()"), using an event namespace to
simplify event unbinding.

While it looks like I'm cheating by removing the tests for this event
binding, these kind of tests are ridiculous anyway -- they're testing
the implementation of the Filter plugin, and not its unit behaviour.
They won't be missed.
ui/widget: Remove Delegator dependency

Just as with the previous commit, there's very little gained by using
Delegator here any more.
Destroy Delegator

Oh Delegator, you have served us well for many years, but now it is time
for you to die.

*2 minutes silence*