Allow vector type in shift operation.

Shifting of vectors is a common operation. This extensions supports shifting a vector by an integral type or another vector. E.g.

    uint4 v = ...;
    ...
    v = v << 1;

or

    uint4 v = ..., w = ...;
    ...
    v = v << w;

(DMD supports this with the `core.simd` opcodes for PSLLD etc.)