Add function annotations necessary to run Fusion on GPUs

I want to be able to use Fusion on GPUs. That requires that `__host__ __device__` annotations be added to all functions. It's a pain, but I've already done the hard work for you. :-)

There is a Boost.Config macro for this: `BOOST_GPU_ENABLED`. Instead, I've gone with a Fusion-specific macro, `BOOST_FUSION_GPU_ENABLED`, and added a `config.hpp` that sets it to `BOOST_GPU_ENABLED` by default.