Cache parsed scope selectors

Parsing is non-trivial so cache them once they've been created
Handle undo when completing string interpolation
Complete #{ in CoffeeScript strings
:lipstick: