Use extract_lane() instead of custom visitor
Add codegen tests for texture loads
Use explicit init() call instead of static initializer

in the hope that this fixes bug #516