Add initial front end handling of question threads

@andy-armstrong, please review
my suggestion in general with variable naming is to extend a base class instead of having the color variables tied up in with their usage/context. We have a lot of legacy colors/variables that use this product-location-context-color type class name, but I think we'd like to move away from this in general.