UI: store XmlNode inside a real FactoryContext structure
UI: cache factory context types used by selectors
UI: avoid StringVector copies for selector type lists
RCORE: use a hash map for property lookups to reduce stress on strcmp
Merge branch 'factory-speedups'

* factory-speedups:
  RCORE: use a hash map for property lookups to reduce stress on strcmp
  UI: avoid StringVector copies for selector type lists
  UI: cache factory context types used by selectors
  UI: store XmlNode inside a real FactoryContext structure