Detached parameter data from the program

Closes #208

Please have a good look at it. There is probably a couple of ergonomic improvements we can do.
Might be better to use more descriptive names here: `...link_program(vertex_src, fragment_src).unwrap();`