platform demo: Move player control code to its own file
platform demo: Add array size macro
platform demo: Add movement types and animation