runtime/protoimpl: add ExtensionInfo alias

This is change 1/5 in a series of commits changing protoV1.ExtensionDesc
to directly implement protoreflect.ExtensionType.

1. [v2] Add protoimpl.ExtensionInfo as an alias for
   protoiface.ExtensionDescV1.

2. [v1] Update references to protoimpl.ExtensionInfo to use
   protoiface.ExtensionInfo.

3. [v2] Create protoimpl.ExtensionInfo (an alias to a new type in
   the impl package) and remove protoiface.ExtensionDescV1.

4. [v1] Remove unneeded explicit conversions between ExtensionDesc and
   ExtensionType (since the former now directly implements the latter).

5. [v2] Remove stub conversion functions.

Change-Id: If6c7fd5f55364613387a05e6f8e9aa38cbfcc5b5
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/189562
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/runtime/protoimpl/impl.go b/runtime/protoimpl/impl.go
index 10ce301..f58b569 100644
--- a/runtime/protoimpl/impl.go
+++ b/runtime/protoimpl/impl.go
@@ -15,23 +15,31 @@
 	"google.golang.org/protobuf/internal/filedesc"
 	"google.golang.org/protobuf/internal/filetype"
 	"google.golang.org/protobuf/internal/impl"
+	"google.golang.org/protobuf/runtime/protoiface"
 )
 
 // UnsafeEnabled specifies whether package unsafe can be used.
 const UnsafeEnabled = impl.UnsafeEnabled
 
 type (
-	DescBuilder      = filedesc.Builder
-	TypeBuilder      = filetype.Builder
-	EnumInfo         = filetype.EnumInfo
-	Pointer          = impl.Pointer
-	MessageInfo      = impl.MessageInfo
+	// Types used by generated code in init functions.
+	DescBuilder = filedesc.Builder
+	TypeBuilder = filetype.Builder
+
+	// Types used by generated code to implement EnumType, MessageType, and ExtensionType.
+	EnumInfo      = filetype.EnumInfo
+	MessageInfo   = impl.MessageInfo
+	ExtensionInfo = protoiface.ExtensionDescV1
+
+	// Types embedded in generated messages.
 	MessageState     = impl.MessageState
 	SizeCache        = impl.SizeCache
 	WeakFields       = impl.WeakFields
 	UnknownFields    = impl.UnknownFields
 	ExtensionFields  = impl.ExtensionFields
 	ExtensionFieldV1 = impl.ExtensionField
+
+	Pointer = impl.Pointer
 )
 
 var X impl.Export