turn throw-window into a module so we don't need to prefix every function name
 OAOO for horiz-stops/vert-stops
find-far-edge DRYs up find-{right,bottom}-edge
no need to find right edge when moving leftwards
lisp mode uses spaces not tabs
throw-window-{up,left} now share most of an implementation
cursor warp in throw-window now take account of offset due to ditle bar/borders
throw-window-down now moves downward according to the stops
make right and down look even more similar