Review: Mouse API step 1: sol.input and pressed/released events

This is the perfect place to explain what exactly is the viewport.