COMPMID-601: Add GraphContext

GraphContext hold all the information about the hints that need to be
passed in the nodes. As these might expand, it serves as a centralized
class for such information.

Change-Id: I0b5527630fb97cc5fa500db0bac8307ff2ea36e6
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/90300
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/examples/graph_alexnet.cpp b/examples/graph_alexnet.cpp
index cf5f635..9c736c5 100644
--- a/examples/graph_alexnet.cpp
+++ b/examples/graph_alexnet.cpp
@@ -94,11 +94,11 @@
     }
 
     // Check if OpenCL is available and initialize the scheduler
-    Hint hint = Hint::NEON;
+    TargetHint hint = TargetHint::NEON;
     if(arm_compute::opencl_is_available())
     {
         arm_compute::CLScheduler::get().default_init();
-        hint = Hint::OPENCL;
+        hint = TargetHint::OPENCL;
     }
 
     Graph graph;
@@ -116,6 +116,7 @@
           << NormalizationLayer(NormalizationLayerInfo(NormType::CROSS_MAP, 5, 0.0001f, 0.75f))
           << PoolingLayer(PoolingLayerInfo(PoolingType::MAX, 3, PadStrideInfo(2, 2, 0, 0)))
           // Layer 2
+          << ConvolutionMethodHint::DIRECT
           << ConvolutionLayer(
               5U, 5U, 256U,
               get_accessor(data_path, "/cnn_data/alexnet_model/conv2_w.npy"),