Begin transition from extensions to components

The first ported extension is TrayIcon

Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>