Fix to respect uniform/varying qualifiers inside of typedefs.

ISPC is incorrectly handling typedefs:

typedef uniform int* uniform uintuptr;
uintuptr a = NULL;

In the example above, a has type "uniform int * varying" instead of "uniform int * uniform".  This patch checks to see if a custom type in a declaration has type qualifiers, and if so, appropriately modifies the declaration to respect them.

A check is also added to make sure that something now isn't both uniform and varying, as the parser can't detect it.

"varying uintuptr a" will result in an error.