Button generator (draw function unfinished, relying on canvas to be implemented)