Use instancetype instead of id for initializers

Switch to `instancetype` instead of `id` so that the compiler has more information with regard to type safety.