Improve searching and functionalty 

* Separate datastore from display logic
* Improve search criteria + improve default settings (tweaks weighting etcs)
* add support for datastore filters
* Make object result accessible instance of self 
* Allow keyboard nav options to scroll UI as needed. (with mixed sized items)
* Improve code comments.