Make blocks easier to use

This improves the user-facing API to include menu options for button names.

It also reports direction/force instead of x/y, which I believe makes the extension easier to work with.

- `〈button [start ▾] pressed?〉`
- `([direction ▾] of [left ▾] stick)`
While this is certainly the standardized layout, it is by no means everywhere. For instance, my controller has 1-2-3-4 instead of ABXY. I feel this may become confusing to newer Scratchers. Long-term, we should provide a "layout switcher", or possibly even do it via controller ID. Short-term, the old blocks I had should at least persist at the bottom, just in case. Maybe.