make Glical_kernel accessible as Glical.Kernel
fix: add cmi to Makefile install rule
major interface change: use objects to represent values

objects (compatible with class ['a] value) are used instead of
a polymorphic variant.
The object still contains the polymorphic variant (hence the
polymorphic parameter) but forces the user to provide methods
to convert the object to an ical format string and to a string
for pretty-printing.

This is a big change.

Also, now, parameters are also represented in the ['a element] type.
Parameters are a list, which can be empty, that associates keys to
values.
obey the new interface exposed by glical_kernel.mli
obey the new interface exposed by glical.mli

The options -socaml and -docaml have been removed because
they don't work with the new interface. They might be put
back at some point, but there's no guarantee at all.