Checkpoint commit: switching to OASIS, Cstruct

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Temporary commit: compiles but fails to negotiate
Move Makefile over to OASIS
Fix typo in marshalling ProtocolVersion
Incremental commit: fix random example
Fix random test
Start adding a second example/ test program
Example now draws a square and a hatch pattern
Add a 'rotating' shape
Start adding a simple text console example.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Add an .lwt subpackage, port the nascent framebuffer example to lwt.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Lwt_unix.write can return short, retry.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
framebuffer: perform updates in the background

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Annotate types to avoid using polymorphic compare

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
framebuffer: send each character as a separate update

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
framebuffer: start using CopyRect during a full update

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Handle CopyRect for empty characters
Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Emit proper incremental updates between frames

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Fix handshake function

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
In the ServerInit, we do need to fill in sensible values.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>