Add project solution for Test.

Should be used as a playground for new features and what not.
Add UVTimer helpers.
Fix await mechanism.

This worked earlier, but doesn't anymore.

I guess the mono implementation changed.
Fix loop exiting even though we are processing Operations.

Just ref the loop.
Fix exploisons when closing handles multiple times.

We already check if the pointer is not null, just set it when we are done closing.
Save current loop when using Run and return it with Current.

This way even if we run the loop normally (not in the
Loop.Run(Func<Task> overload) we ensure that Loop.Current
will return the currently running loop.

However, the context is still useful if we want to write
counter parts of the evented APIs which block but still spin the
loop.
Fix test on local machine.
Move Extension into Loop class.

This way we guarantee that we run the correct method.

This will be useful for future improvements, like adding Run(Action)
Use a default Field for the default constructor argument for Loop for various objects.

Now we would need to chang only one file.
Add overloads for Run to set Default Loop Constructor.

All callbacks and such will now use the Loop that has been referenced
as the default loop in handle constructors and such.

Makes coding more convenient.