fix sliding along corners

* solves most stuck-conditions along corners
* cleaned up discrete player movement loop a bit
* some comments added