Use dot notation for dictionary accessors
Allow runtime redefinition of functions

The rationale for disallowing this in commit
fd00a651f362c01abd09b99bb08558aea2a6d16d was an overly cautious attempt
at preventing namespace collision. As all functions are either scoped
script-local or in the niji#... namespace this should highly unlikely.