Improve DataTable

fixes #1382.

TODO:
- [x] make slick-grid independent of external styling (currently it looks different in html, server and notebook).
- [x] add support for (multi-column) sorting
- [x] make `DataTable` editable
- [x] restore auto-complete editor
- [x] fix sizing of `DataTable` widget
- [x] figure out correct column sizing (`forceFit` works inconsistently)
- [x] investigate display issues on the server (most likely server's bootstrap issue)
- [x] fix editors based on spinner to show buttons
- [x] implement cell formatters

TODO in a follow-up PR:
- [ ] add support for external editors (not directly embedded in cell's HTML)
- [ ] finish remaining editors (text, time, date, etc.)
- [ ] figure out why `select` ignores `keydown` event (prevents editor from using arrows)
Looking at this I see an error, this should be `bounds = Either(Auto, Tuple(Float, Float))` but can be fixed in another issue.