Refactor driver to use only one preprocessing phase for OpenMP
offloading.

Using two preprocessing phases (for host and OpenMP target) is
suggesting to be highly problematic for include files. Preprocessing the
target code without the host macros may cause code that is guarded with
those macros to be compiled to the target and may even result in the
include of files that do not exist in the system. The only way to make
sure no such thing happens is to use a single preprocessing phase using
the host preprocessor which is expected to work properly with the files
included for that host. This patch changes the driver in order to use a
single preprocessing phase each time it deals with OpenMP ofloading.