[time.js] Allow construction of time.Time objects by plain object

Allows to create a Time object by giving a plain object just like time.Time.parse's output to the
constructor. Also added time.Time.CALENDAR and time.Time.YEAR for more convenient construction of
such an object suitable for the Time constructor.

Change-Id: Ia650c610cae6a12fc3573cd56445ed69362eb7e0