reorganize structures about selection
fix selection going up/left
"#if defined(SUPPORT_DBLWIDTH)"--

and let the compiler remove the calls whenever needed
_smart_xy_to_cursor() now returns inside coordinates
simplify selection code
fix clicking to unselect
fix stretching selection
selection to the edges scrolls