Declarative creation of classes based on Nuria::Serializer

It's now possible to instantiate exported types in a declarative
fashion:

server = Types.MyServer {
  port = 123,
  root = Types.MyRoot { ... }
}

It's of course still possible to use the "old" 'new()' syntax

server = Types.MyServer.new (123, Types.MyRoot.new (...))