let select_block use ly.document.Runner
doc
Open search widget selected

Addresses  #319

If Document doesn't have a selection any existing search term
isn't replaced.
This commit makes the widget open with the term selected
so one can immediately overwrite it.

To be done: Behaviour when widget is already open.
Handle search term properly when widget is open

fixes #319

Now the behaviour is identical whether the search widget is open
or not:

a) No search term
-> word at cursor is search term (if selected or not)

b) Existing search term
-> 1) No selection in document
      Search term is kept but selected
   2) Selection in document
      Selection is new search term
Merge pull request #320 from uliska/search-selection

Improve search field behaviour
fix crossing start without returning token
rm cursortools.Writer

all writing is now done using lydocument and ly.document
use lydocument Runner
rename LyDocument to Document (it is in lydocument anyway)

add lydocument.Runner
also rename LyCursor to Cursor
(it would look strange to add the Ly prefix everywhere, thats why I removed it from LyDocument and LyCursor
let matcher use ly Runner
rm tokeniter.Runner

tokeniter.Source is also deprecated, please move to ly.document.Source
oops
oops
initial build of svgview panel, Issue #310
add lydocument.Source

remove the init override from lydocument.Runner, only keep the cursor()
method.
oops
move musicview token highlighting to lydocument.Source
move lyric hyphenation to lydocument.Source
move builtin snippet to lydocument
doc