Initially node titles were implemented specific to KTexts, so that any KText could be a node title which would be scaled up within its parent rendering when zoomed out far enough to make that title illegible.
This PR rethinks the core idea and allows the same concept for any rendering. So now any rendering can be set to be the node title and that entire rendering (e.g. formatted text) will be scaled accordingly.
Initially node titles were implemented specific to KTexts, so that any KText could be a node title which would be scaled up within its parent rendering when zoomed out far enough to make that title illegible. This PR rethinks the core idea and allows the same concept for any rendering. So now any rendering can be set to be the node title and that entire rendering (e.g. formatted text) will be scaled accordingly.
Also re-organizes some code used multiple times.