VRAM now stores semi-transparency information in the designated Texture.SemiTransparentMap, just like normal textures. With this, handling VRAM textures and normal textures no longer needs different logic.
VRAM now caches its graphics objects when drawing to speed up mass updates to VRAM (probably). These graphics objects are disposed of during the Update functions.
Texture.RenderWidth and RenderHeight now return the same values as Width and Height, and will be removed eventually.
Fixed TexturePreviewer not getting invalidated during certain events like property changes or ClearScanResults.
Fixed TexturePreviewer semi-transparency caching not working correctly with clipRect, thus making it effectively useless unless scrolling down/right. The rect that's cached is now the viewable auto scroll rectangle, while clipRect is mearly used to handle what stp lines to update.
Added caching for TexturePreviewer UV lines. Caching is done by drawing all UV lines to a bitmap once, and then rendering that bitmap from there on. This does have a larger performance hit when first zooming in or out (when part of the texture is off the screen), but has no lag afterwards, making it cleaner to scroll around a texture.