Update to new gntshr interface

Signed-off-by: John Else <john.else@citrix.com>
Add functorised writer interface

Signed-off-by: John Else <john.else@citrix.com>