gl: find_resource_filename()

+ Add a helper function which looks in theoretically various directories
  for the desired resource; in practice, it only scans a couple of
  parent directories
gl/shader: Link program before uniform access

+ Do that
gl/shader: Pack parameters for program

+ I pray to Madoka this works