Syntax: object literal

imported from https://github.com/astrada/pa_extjs cc @astrada
for the upcoming release or later

example 
```
let obj = {|
  p1 = Js._true;
  p2 = Js.string "string property";
|}
```
is infered to 
```
< p1 : < set : bool Js.t -> unit; .. > Js.gen_prop;
           p2 : < set : Js.js_string Js.t -> unit; .. > Js.gen_prop; .. >
         Js.t
```