fix component invocations, make dynamic (wip)

TODO next:
- fix keyword args when foo's a function
  - pass them to function not template
  - evaluate them
- back-compat block helper calling convention