Move functionality away from Tree class

The main objective is to decouple the currently displayed move and the moves
received from the server/gtp engine. This serves mostly to clean up the code
but also speeds up navigation and avoids flicker.
Speed up SGF loading

Do not use 'find' when we actually want to check if a substring occurs at a given position.
This speeds up loading Kogo's Joseki dictionary at least by a factor of 10.