Implementing Promisable setTimeout

from blog yield code();, | ↗ original
setTimeout() is the most powerful execution control function. Sadly - it's not async. Lets turn it into one.