Added 'Edge Scrolling'

Originally done using 'Rectangles'... Realised this was overcomplicating
the situation. And replaced with some simple algorithms.