Remove two levels of useless inheritance

Or was it one layer? It was kinda hard to wrap my head around it.
Close #2

Make lutspa stop requesting source frame if it isn't needed. There is no
caching and new frame still gets allocated every time so trim().loop()
might still be somewhat faster. About 1.4 vs 2k for me but it might
depend on how good avisynth's caching is.
Close #4

Makes mt_lutxyz and mt_lutsx stop calculating unneeded luts.
Only unique luts for plane with mode PROCESS are calculated. Unique
means that if some planes use expr (without the y/u/v) - the same lut is
reused for all of them.
This reduces startup time and memory footprint making at least mt_lutxyz
usable in some cases.