fully fledged selection capabilities

This is a mixin for a component which provides complete functionality for the selection behavior:

* Support of `ctrl` and `cmd` key multiple selection
* Support of `shift` key
* Support of `shift+a` combination to select all records
* Support of arrows `up` and `down` to switch selection from the keyboard