Begin implementing abstract platform

Yeah I'm still getting my head around how to achieve this. We have to think about how window and input management will work, which are beyond the scope of gfx-rs.