Add a first draft implementation of switch-to-bootloader functionality

This commit adds the support of the bootloader switching using. Backup
registers are used as a scratch memory to pass parameters between
microboot and application firmware. For now the code is very sloppy
and is would have to be separated and made into a separate library.

Singed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>