Provide an acceptable implementation for __cxa_pure_virtual()

Fix for issue reported in the forum related to pure virtual methods:
https://community.sparkdevices.com/t/compiler-linker-fail-virtual-destructors/1320/2.

Without a default implementation of __cxa_pure_virtual, code is pulled from libstdc++ which exceeds the size of available flash.

This change implements a default handler for __cxa_pure_virtual that waits in an infinite loop, similar to that of an unimplemented interrupt.

Tested with the test case from forum post and resolves the problem.