Utils: Introduce a not-so-abstract MacroExpander utility class

The current use of AbstractMacroExpander requires some boiler plate
code that can be avoided.

Change-Id: I753d872d824274d94d5105232a8fc05ac7bf0711
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
QtSupport: Use the new MacroExpander base

Change-Id: I8a3f3d461179ab1abf1704166ad3861645d49f99
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>