[NUI] refactoring collectionView and Layouters for extended class (#5123)
* [NUI] refactoring collectionView and Layouters for extended class
to create customized collectionView and Layouters,
some properties must be extendable.
this change includes properties access modifier
which is internal or private to protected.
* [NUI] publize reyclerviewitem properties
* [NUI] fix item source getter more efficiently.
* [NUI] refactoring getter.
* [NUI] add GroupItems
* [NUI] fix build error
* [NUI] fix build error
* [NUI] change property overridable.