WTF::OwnPtr should behave similarly with the rest of WTF smart pointers

Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad for the following reasons:
- It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client).
- It was potential error-prone as it actually modified the type given by the Client in opaque way.

Review URL: https://chromiumcodereview.appspot.com/23960005

git-svn-id: svn://svn.chromium.org/blink/trunk@157328 bbb929c8-8fbe-4397-9dbb-9b2b20218538