SPIFBlockDevice was using SingletonPtr without an include,
and only getting it via SPI.h.
Spotted while changing SPI to not use SingletonPtr - now
abandoned, but still this shouldn't have been relying on it.
Adding new modules inside the namespace could be breaking change for existing code base
hence add `using namespace::class` for classes newly added to mbed namespace to maintian
backwards compatibility.
MBED_NO_GLOBAL_USING_DIRECTIVE is added to remove auto-addition of namespace
Macro guard `MBED_NO_GLOBAL_USING_DIRECTIVE` is added around namespace, to avoid
polluting users namespace.