Make function inputs required

The function *output* is still optional, since you often want it to be
auto-filled (which isn't implemented yet, but will be).

Since nulls only match optional parameters, we have to change a couple
of places that were relying on that behavior with the function input:

* NormalizeII
* MapViewTest
* ProjectorTest

These places instead now pass the class of the required input, which
will still match the input even though it is required now. And it is
much better anyway, because it will *only* match the desired ops rather
than potentially having problems with matching unrelated ops.

For example, "add(Img, Img, Double)" and "add(Double, Double, Double)"
would both match "add(null, null, Double)".

So it's better to ask for "add(null, Img.class, Double)" to ensure you
only get add ops that take Imgs as input.