Fix issue #486
Fix issue #486

Use `check_is_assignable_to_using_subtype` in
`is_polymorphic_type_assignable`.

The polymorphic procedure in #486 can now also be written without the
cast:
```odin
print_entity :: proc(e : ^$E, p : proc(^$T) = print_base) { p(e); }
```

ThisDrunkDane/Odin,gingerBill/Odin,gingerBill/Odin,gingerBill/Odin,ThisDrunkDane/Odin,gingerBill/Odin,ThisDrunkDane/Odin