Fix a bug in thread exits.

The priority map was not updated so if the highest-priority thread
exited then the next thread would not become runnable.
diff --git a/sdk/core/scheduler/thread.h b/sdk/core/scheduler/thread.h
index e0cc5e4..7398cb0 100644
--- a/sdk/core/scheduler/thread.h
+++ b/sdk/core/scheduler/thread.h
@@ -363,6 +363,7 @@
 		{
 			Debug::log("Thread exited, {} threads remaining", threadCount - 1);
 			current->list_remove(&priorityList[current->priority]);
+			current->priority_map_remove();
 			current->state = ThreadState::Exited;
 			return (--threadCount) == 0;
 		}