Implement a hierarchy describing context

* Context hierarchy
** :ctx/return
   An expression in the tail position

** :ctx/statement
   An expression who's value is ignored

** :ctx/expr
   Any other expression type

*** :ctx.invoke/param
   An expression which is a function call parameter

*** :ctx.invoke/target
   An expression which is a function call target