Fix typechecking of some implicit constructs

Typecore:
- unknown implicit arguments raises an error during application
- approx_type has to do proper typing of implicit arguments and go through lhs
  (FIXME: will fail in some cases...)
Env:
- set level of implicit when crossing binder
  (FIXME: cleanup)
Imp_control/Imp_data: basic implicit libraries