Export CuDriverError and make be with description

- To check exception easily
Make CuEvent to be immutable object holding handle rather than typealias