Check how much logic could be reused from Silica TextBase.

E.g. there is a logic for handling multi-line text selection when text selection starts from line x and your finger moves toward line x-1. Check e.g. Notes app and text selection there.