Updated program interface functions and enums

- Added the ProgramResourceProperty enumeration.
- Added new functions to ProgramInterface.