Start adding generic viennacl context wrapper