WalletTemplate: introduce a simple wallet model and use the FX reactive bindings framework to clean up and fix some bugs. Empty wallet button now is disabled when the wallet is empty.