display otp seed as qrcode. added qrcode generator library.
added widget name validation #797
zero decimal place option works. some ui changed
msgbus datetime format displays as millisecond
added queryInterval test set
LoginPlugin.hello supports otp
registerQueryInterval supports data offset (head/tail)
added event map to shared serviceProgram

renamed shared workerLogdbService
app iframe reset on restart
Merge branch 'master' into uidev-gotoweb
registering chart service/controller api changed.

chart service injection works asynchronously.
logdb login works by token. only the user can see otp seed its owner.
Revert "msgbus datetime format displays as millisecond"

This reverts commit b17212517c7c267a4f299318427a0b3b88559e36.
master can grant profiles.

fixed a bug always regenerate otp on updateUser
fixed a bug that not shown editing granted profile
Merge branch 'uidev-gotoweb'