## Change area mmap interface to include implementation specific options.
### Summary of changes in mmap interface
Previous mmap interface was:
int aml_area_mmap(struct aml_area *area, void*ptr, size_t size);
First, in this interface, the purpose of ptr is fuzzy as it is implementation specific and neither
the user nor aml generic interface knows what to do with it in a generic way.
Second, this interface does not allow for extensive options. In particular, linux mmap allow
multiple arguments that cannot be elegantly passed with this interface.
Instead we aml_mmap replace with this new interface:
int aml_area_mmap(struct aml_area *area, size_t size, struct aml_area_options *options);
Where the last field clearly state it is used for options and can always be NULL so that it can explicitly be used without knowledge of options implementation.