nir: Supports precision lowering passed from GLSL IR.
This MR is following MR !1043 (closed) doing precision lowering. At NIR level, it needs to handle operations with lowered precision, especially for bool type. This includes new pass to lower 1-bit booleans to native bitsize of operations, while booleans are generally treated as 32-bits at the moment.