Action: Refactor and port to modern QML/JS
Most importantly, this patch relaxes type requirement for parent and children actions to allow unstyled T.Action, but also narrows down visibleChildren from being a generic var to be a typed list<T.Action>
Both loops have gone in favor of modern iterators, while dynamic property checks were replaced with typed instanceof operator.