Make binaries specify their stack size using a new stack_size!{} macro.

Prior to this PR, it was not possible for binaries to specify their own stack size. libtock-rs had a hardcoded stack size of 2KiB.
diff --git a/examples/hello_world.rs b/examples/hello_world.rs
index 49ada78..2872f25 100644
--- a/examples/hello_world.rs
+++ b/examples/hello_world.rs
@@ -7,6 +7,8 @@
 use libtock::println;
 use libtock::result::TockResult;
 
+libtock_core::stack_size! {0x400}
+
 #[libtock::main]
 async fn main() -> TockResult<()> {
     let drivers = libtock::retrieve_drivers()?;