feat(library/kernel_bindings): improve Pi and Fun Lua APIs, and allow users to provide binder information

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel): add proof irrelevance for classes

We can use this feature to implement proof irrelevance for Identity types.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/formatter): make simple_formatter display Type instead of Bool if impredicativity is disabled

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
test(lua): add test simulating HoTT compatible environment

   Type.{0} is predicative
   Type.{0} is proof relevant
   Id       is proof irrelevant
   Path     is proof relevant

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>