added static initializer. closed public API.
chainable methods
don't process mouse events when GUI is invisible
don't process mouse events when GUI is invisible
added generator for buttons (parameterless!)