spirv: Give OpTypVoid an internal type of uint
Nothing ever writes to OpTypeVoid except function calls and those always push an undef. However, this allows void things to be read. In particular, it lets people make phis and undefs of type void. It's not entirely clear if this legal SPIR-V or if it's a good idea but it's easy enough for us to implement.
Closes: #3689 (closed) Closes: #3427 (closed)