Refactor AES context to be shallow-copyable

Replace RK pointer in AES context with a buffer offset, to allow
shallow copying. Fixes #2147.

Signed-off-by: Werner Lewis <werner.lewis@arm.com>
diff --git a/library/padlock.c b/library/padlock.c
index b8ba105..2fb4e83 100644
--- a/library/padlock.c
+++ b/library/padlock.c
@@ -82,7 +82,7 @@
     uint32_t *ctrl;
     unsigned char buf[256];
 
-    rk  = ctx->rk;
+    rk  = ctx->buf + ctx->rk_offset;
     blk = MBEDTLS_PADLOCK_ALIGN16( buf );
     memcpy( blk, input, 16 );
 
@@ -129,7 +129,7 @@
         ( (long) output & 15 ) != 0 )
         return( MBEDTLS_ERR_PADLOCK_DATA_MISALIGNED );
 
-    rk = ctx->rk;
+    rk = ctx->buf + ctx->rk_offset;
     iw = MBEDTLS_PADLOCK_ALIGN16( buf );
     memcpy( iw, iv, 16 );