Check if username is valid (#105)

The register app now checks with the backend as the user types
to find out if the username is valid.

Added a 'button' validator that checks if a sidecar button
is in the success state -- useful for these inputs where you
can provide real time feedback to the user.