slightly improved gui framework, added button example