ui: reworked geometry caching.

ui::Geom: added static_size to ctors, simplified modes ctor.

ui::Widget:
	added cache parameter to reflow();
	added cache_geometry() call in base reflow_impl().

ui::Container:
	defaulted to static_size = true;
	reflow_impl(): use base reflow_impl();
	cache_geometry(): fit request_size from slot sizes when non-static.

ui::Button:
	defaulted to static_size = false;
	added missing override on reflow_impl().