adds custom get function for special get element from tuple by type cases
Merge branch 'util' into ecs
eliminates compilation error caused by std::move calls in basic_component