This introduces enum types for range checking/returns, adds a millis(() call
(this returns a uint32_t), and moves over to an auto generated version of the GCS binding
This also provides a more intresting function, with range checking. We
could choose to ignore this range checking and leave the script author
responsible for managing this, but it's probably better to protect the
author from themselves as much as possible, even if it makes the API
binding harder to automate