Renamed update into move_cursor.
If completion is started backwards mark the last item (#39).

If the completion where started in reverse order by <shift-tab> the first item
was marked as active instead of the expected last one.
Split tree model creation from preparing the widget (#39).