Use the original program source for program creation/compilation

Instead of building the program from source with the added comment block (used for distinction between different platforms and devices when offline cache is in use), only use the altered source for the hash computation. This way users will not get unexpected results from `program.source()`.