Now we need to provide a location when call `load()`, e.g. ```python with Context(), Location.unknown(): MyDialect.load() ``` But it's actually weird: IRDL is just an implementation details, so for users they don't know why they need to provide a location for loading a dialect, which is unrelated to constructing an IR module. This PR made location optional for dialect loading.