Some shader updates, and some slight shader reorganization (avoiding circular dependencies)