This revision replaces MatmulOp, now that DRR rules have been dropped.
This revision also fixes minor parsing bugs and a plugs a few holes to get e2e paths working (e.g. library call emission).
During the replacement the i32 version had to be dropped because only the EDSC operators +, *, etc support type inference.
Deciding on a type-polymorphic behavior, and implementing it, is left for future work.
clang-tidy: warning: invalid case style for variable 'O' [readability-identifier-naming]
not useful
clang-tidy: warning: invalid case style for variable 'I' [readability-identifier-naming]
not useful