Use the normals of the lines in SAT collision detection
Add a Move method to the player which ensures that the player doesn't phase through objects