create button backgrounds in code rather than images

fixes #137