- in kernel32, replaced all {Enter|Leave}CriticalSection calls with
  ntdll counterparts
- {Enter|Leave}CriticalSection is now a pure forward from kernel32 to
  ntdll (we now longer can use {Enter|Leave}CriticalSection in kernel32)
- replaced a few kernel32 heap management calls from ntdll, with
  RtlHeap* equivalents

diff --git a/scheduler/syslevel.c b/scheduler/syslevel.c
index e5c121f..76e9d63 100644
--- a/scheduler/syslevel.c
+++ b/scheduler/syslevel.c
@@ -67,7 +67,7 @@
  */
 VOID WINAPI _CreateSysLevel(SYSLEVEL *lock, INT level)
 {
-    InitializeCriticalSection( &lock->crst );
+    RtlInitializeCriticalSection( &lock->crst );
     lock->level = level;
 
     TRACE("(%p, %d): handle is %p\n",
@@ -94,7 +94,7 @@
                         lock, lock->level, teb->sys_mutex[i], i );
         }
 
-    EnterCriticalSection( &lock->crst );
+    RtlEnterCriticalSection( &lock->crst );
 
     teb->sys_count[lock->level]++;
     teb->sys_mutex[lock->level] = lock;
@@ -131,7 +131,7 @@
             teb->sys_mutex[lock->level] = NULL;
     }
 
-    LeaveCriticalSection( &lock->crst );
+    RtlLeaveCriticalSection( &lock->crst );
 
     TRACE("(%p, level %d): thread %lx (fs %04x, pid %ld) count after  %ld\n",
                   lock, lock->level, teb->tid, teb->teb_sel, (long) getpid(),