4.3: Add theme chooser support

Signed-off-by: ayysir <dresadd09691@gmail.com>
Merge branch 'original/ThemeEngine'