safe version of require that returns undefined rather than throwing an error when the module is not found