Compiles and runs.  Now move around more code.
Getting a few more things in place.
The modules are coming.  The modules are coming.
Just shuffled code around.  No functional changes.
Much cleaner, easier to follow.
Removing replaced stuffs.
Extension args are now passed into ctors.  Much cleaner.
XImager now much simpler.  Real work is now done elsewhere.
Masks in place.
Simplified cropping logic.
So much clean.
Params aren't strict.  But now fit works.
Hahaha, this is too easy.  I love it.  Grayscale lives!
Rounding issues in none-cropping.
Translation in wrong direction.
Quirk in GDI where it treats fully transparent as black instead of the RGB component for some formats.
Added json output.
Provides backwards compatibility where you could specify the color arg without a function name.
Tight crop!
Cosmetic