FSImage changed to create logical scaled instances of itself rather than physically scale itself immediately. Images with unknown width or height are scaled by dotsperpixel.
The purpose of these changes are to consolidate the scaling function to the graphics rendering layer only. The layout layer gets to play with a logical representation of the image while it figures out how the renderer should position and scale it.
So now that image scaling operations are deferred until the image is being painted with Graphics2D.drawImage, we can scale images very large without consuming more memory than the original bitmap, not scale anything if the image is never painted, and not worry about caching lots of instances of the same FSImage.
Creating our own buffered images is a good thing when an image is down scaled, but bad when up scaling. With this implementation, we can defer up scaling to the Graphics context and cache a buffered image to draw when we are down scaling. We also get given the flexibility to configure for memory usage and output quality vs render performance.
Don't include Netbeans configuration files in the git repository.