core: allow changing the priority at runtime

~~Untested.~~ RFC.

Closes #198.
`-1` is just a random negative number. Being `>= 0` makes the decision that it is a valid PID. At least that was my thinking when I wrote this.