Feat/multiselect

add multiselect directive
All those Object.defineProperty could be extracted in a method. e.g. defineReadOnlyProperty(this, $selectedItems, function { return; });