[REVIEW ONLY] Improved Find/Replace UI

Not done yet, but pushed in case anyone else (@larz0?) wants to play with it.

Finished so far:
* Replace is now a single UI rather than a 3-stage "wizard."  Instead of Yes/No/Stop, there's a single Replace button.
* Replace now shares most of its code with Find, so Replace gets incremental search, match highlighting, match counting, and tickmark indicators.
* Enter is treated as Find Next instead of closing the search bar.  (And Shift+Enter = Find Prev)
* Streamlined UI: match count hovers inside query field, regexp errors appear in a popup below the query field, next/prev buttons don't dynamically show/hide, and eliminated labels in favor of prompt text inside the replace field.

Not implemented yet:
* Toggles for regexp & case-insensitive (old heuristics still used for now)
* Make search/replace fields dynamically fill available width.
* Keyboard shortcut for Replace
* Final visual polish
* Additional unit tests