Rework to use interfaces where possible, especially across the
client-server gap. Preparations for real texture fetches.