basic button done
path button started - needs to allow path to be an array
text button started - needs to be able to ascertain text dimensions
todo: stateful button