Add error message support

This commit enables returning of error messages based on the HRESULT.
They still aren't nice, but they're better than nothing.