RF: Builder components in prep for localization work

- main aim: separate display from logic/function, use _localized dict: keys=for logic, values=for display
- consistently inherit from BaseVisual (or VisualComponent, KeyboardComponent)
- move start/stop into BaseVisual
- remove some duplicated code
- a couple small bug-fixes along the way
- standardize hint messages
- make a migration-assist tool (x.py) to compare all component attribs, hints, etc before vs after refactoring
  (could become part of the standard test-suite with minor work)