Engineering Electronic and Spin Properties in Graphene Nanoribbons