Update the compartmentalisation exercise.

We don't (yet) build this in CI and it stopped working when the debug
code was refactored.
diff --git a/exercises/01.compartmentalisation/microvium-ffi.hh b/exercises/01.compartmentalisation/microvium-ffi.hh
index 02818ee..a919a17 100644
--- a/exercises/01.compartmentalisation/microvium-ffi.hh
+++ b/exercises/01.compartmentalisation/microvium-ffi.hh
@@ -376,6 +376,7 @@
 	                                     mvm_Value         *args,
 	                                     uint8_t            argCount)
 	{
+		auto *uart = MMIO_CAPABILITY(Uart, uart);
 		// Iterate over the arguments.
 		for (unsigned i = 0; i < argCount; i++)
 		{
@@ -384,11 +385,11 @@
 			// Write each character to the UART
 			for (; *str != '\0'; str++)
 			{
-				ImplicitUARTOutput::write(*str);
+				uart->blocking_write(*str);
 			}
 		}
 		// Write a trailing newline
-		ImplicitUARTOutput::write('\n');
+		uart->blocking_write('\n');
 		// Unconditionally return success
 		return MVM_E_SUCCESS;
 	}
diff --git a/exercises/01.compartmentalisation/xmake.lua b/exercises/01.compartmentalisation/xmake.lua
index b879cc5..0534b24 100644
--- a/exercises/01.compartmentalisation/xmake.lua
+++ b/exercises/01.compartmentalisation/xmake.lua
@@ -24,6 +24,7 @@
 firmware("javascript")
     add_deps("crt", "freestanding", "string", "microvium", "atomic_fixed")
     add_deps("js")
+    add_deps("debug")
     on_load(function(target)
         target:values_set("board", "$(board)")
         target:values_set("threads", {