Allow `object as string`

`object as string` is useful in cases the object overrides `toString()` and/or the type of the object is specified by a type parameter (e.g. `function f.<T>(value : T) : void { log "label: " + value as T; }`).