Str: add support for arbitrary constants `SymConst`

We can add new constants by adding to cases for the `SymConst` type.
These are encoded by generating new *global* symbols of the appropriate `sort`.

Added to support `string` in nanojs.