[DT] Selection interface for DataTable

Addition of row, column and cell selection. Adds the ability to use shift and control (meta) keys to select a range or toggle individual items. 

Uses public method for procedural item selection and event delegation to call the procedural calls. 

Has a single selection mode for row, column or cell. Switching the selection mode will clear any current selection.

- [ ] Test
- [ ] Code Fix
- [ ] History 
- [ ] Sign Off or 3 days