Introduction to SPFx (SharePoint Framework)

What is SPFx and Why is it Needed?