starting work on texture loading in a multiplatform way