Struct that contains its entry point and original bytes.
The purpose of this struct is that when it goes out of scope,
it automatically removes the modified bytes in order to do a clean
remove of the DLL.
Injection is a simple structure that contains an address where
the instructions to be modified are, and the original bytes with
the new ones. This struct is intended to be injected and removed
easily.
Trait specifically designed to extend the Vec struct in order
to easily write something like vec.inject() when you have a vector
of structs that implements Inject.