libtorc-baseu: Simplify UIWidget::FindChildByName calling convention

- caller no longer needs to specifiy full qualified widget name.
- care should be taken when calling this function with Recursive=true to
ensure the correct widget is selected...
libtorc-baseui: Fix UIWidget::CreateCopy

- make it public
- pass a given name for the copy

Allows 'templated' widgets to properly copied.
libtorc-baseui: Make UIShapePath a QObject

- which allows unrestricted access to staticMetaObject
libtorc-baseui: Make some UIWidget functions public

- and remove most of the friend classes
libtorc-baseui: Update UIMessenger

- start standardising templated widgets with capitalised names
- use FindChildByName instead of FindChild