Constructor has not a generic name but the same name as class so there is a syntax problem to enforce them in interface class. What's the syntax then for something like this:
Interface IInterface {
<class-name-of-implementer>(string param) {}
}
The problem I see with creating an initialize method is that client app of your framwork/library can just forget to call it ! Seems to me that if constructor was just named __Constructor like in some other languages that would be possible so it's not possible just because of syntax !
Syntax should not drive design but semantics.