Restored support for selection

This might be slow right now, because after glyphspec removal,
each glyph (glyph, selection_glyph, and nonselection_glyph) are
completely independent models/views and there is no data or
computation results sharing, so e.g. _map_data() has to be
called three times for one GlyphRenderer.